Modern computer systems may consist of processing resources, non-volatile memory and persistent storage. The persistent storage communicates with the local processing resources through a storage protocol that is specific to the storage resource. The storage resource may support one such protocol and the computer system may support a separate infrastructure to support that protocol, because, for example, of differences in protocol, connector type, cable type, trace type, and/or data path width, or other variations in protocol specifics.
The separate infrastructure required to support different storage protocols limits the flexibility of the design of the overall computer system. Thus, there is a need for a common infrastructure that supports multiple protocols.